//
//  CustomDataManager.h
//  test_simple_project
//
//  用户自定义数据管理类 - 完全可混淆
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

// 自定义协议 - 可混淆
@protocol CustomDataManagerDelegate <NSObject>
@optional
- (void)dataManager:(id)manager didUpdateData:(NSArray *)newData;
- (void)dataManager:(id)manager didFailWithError:(NSError *)error;
@end

// 自定义数据模型 - 可混淆
@interface CustomDataModel : NSObject
@property (nonatomic, strong) NSString *customIdentifier;
@property (nonatomic, strong) NSString *customTitle;
@property (nonatomic, strong) NSDate *customCreationDate;
@property (nonatomic, assign) NSInteger customPriority;

- (instancetype)initWithIdentifier:(NSString *)identifier title:(NSString *)title;
- (NSString *)customFormattedDescription;
- (BOOL)isCustomHighPriority;
@end

// 自定义数据管理器 - 可混淆
@interface CustomDataManager : NSObject

@property (nonatomic, weak) id<CustomDataManagerDelegate> customDelegate;
@property (nonatomic, strong, readonly) NSArray<CustomDataModel *> *customDataItems;
@property (nonatomic, assign, readonly) NSInteger customItemCount;

// 自定义类方法 - 可混淆
+ (instancetype)sharedCustomManager;
+ (NSString *)customVersionString;

// 自定义实例方法 - 可混淆
- (void)addCustomDataItem:(CustomDataModel *)item;
- (void)removeCustomDataItem:(CustomDataModel *)item;
- (void)clearAllCustomData;
- (CustomDataModel *)findCustomItemWithIdentifier:(NSString *)identifier;
- (NSArray<CustomDataModel *> *)filterCustomItemsByPriority:(NSInteger)minPriority;

// 自定义私有方法（在实现中定义）- 可混淆
- (void)performCustomDataValidation;
- (void)notifyCustomDelegateWithData:(NSArray *)data;

@end

NS_ASSUME_NONNULL_END
